home *** CD-ROM | disk | FTP | other *** search
- Subject: Re: Part Server
- Sent: 7/10/96 8:05 AM
- Received: 7/10/96 8:46 AM
- From: Greg Friedman, friedman@cognosis.com
- Reply-To: ODF Interest, ODF-Interest@CILabs.ORG
- To: OpenDoc Development Framework Discussion List, ODF-Interest@CILabs.
-
- Serge Froment wrote:
- > >AppleEvents are the sanctioned mechanism for interprocess communication on
- > >the Mac.
- >
- > What about Windows? The OD parts served with this server will be ODF-based
- > cross-platform.
-
- Unfortunately, OpenDoc doesn't provide a solution on Windows right now. It
- is unlikely that OSA will make it into the Windows implementation of
- OpenDoc.
-
- > >Alternatively, it should be possible, using a shared data section and
- > >shared memory (probably allocated out of the system heap), to create a
- > >shared library that implemented interprocess communication without apple
- > >events. It's more work, but it might provide better performance.
- >
- > At least until Copland. AppleEvents are supposed to be used to remove
- > polling in MacOS 8 in order to improve performance. That's what they said
- > at WWDC.
-
- I'm not suggesting an architecture that uses polling. I'm suggesting the
- following:
-
- - Create a shared library that has a callable C or SOM API
- - Make the shared libraries data fragment shared. Use globals to point at
- data structures that all parts and processes should share.
- - Clients call the C or SOM API
- - Optionally use the threads manager from within the shared library
-
- > Suppose I go with a background task that communicates with AppleEvents.
- > What technology do you suggest I use to implement it on the Mac: MacApp,
- > PowerPlant or my own stuff? Of course, if I use either MacApp or
- > PowerPlant, this means I write framework-independent code as much as
- > possible and nest it into on a Windows-based framework for the Window
- > version.
-
- MacApp has been used to create background tasks, but there is no intrinsic
- support in the framework. I don't know about PowerPlant. I'm not sure you'd
- need an framework, anyhow. You probably don't want to create a fullblown
- app. You certainly don't need all of the menu, view, document stuff that
- the frameworks provide. You could probably roll your own with only a
- minimum of application code.
-
- > Suppose I go with a shared library, I have another problem: I use
- > NeoAccess, which has its own memory management. Do you think I will have a
- > hard time make such stuff work inside a shared library? In particular, if
- > something ever does a NewHandle or calls system code that does a NewHandle,
- > where such a handle will be allocated?
-
- I haven't actually used NeoAccess, but I'm pretty sure it offers some
- flexibility in controlling memory allocations.
-
- Greg.
-
-
- _________________________________________________________
- Greg Friedman ODF Engineering Apple Computer
-
-
-